/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managedBeans;

import dao.EscolaDAO;
import dao.LabDAO;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import Bean.Escola;
import Converter.EscolaConverter;
import javax.ejb.EJB;
import org.primefaces.context.RequestContext;
import org.primefaces.event.RowEditEvent;

/**
 *
 * @author alexandre
 */
@ManagedBean
@SessionScoped
public class EscolaFaces implements Serializable{
    
    
    private Escola selectedEscola;
    @EJB
    private EscolaDAO escDAO;
    private List<Escola> escolas;
    
    public Escola getSelectedEscola() {
        return selectedEscola;
    }

    public void setSelectedEscola(Escola selectedEscola) {
        this.selectedEscola = selectedEscola;
    }

    public List<Escola> getEscolas() {
        return escolas;
    }

    public void setEscolas(List<Escola> escolas) {
        this.escolas = escolas;
    }

   

    public List<Escola> getLaboratorios() {
        return escolas;
    }

    public void setLaboratorios(List<Escola> laboratorios) {
        this.escolas = laboratorios;
    }
    
    
    public String startEscola(){
        selectedEscola = new Escola();
        return "/admin/nova_escola.jsf";
    }
    
    
    public void add(){
       escDAO.add(selectedEscola);
     
       FacesMessage message  = new FacesMessage("Dados Gravados com Sucesso!!");
        FacesContext.getCurrentInstance().addMessage(null, message);
            selectedEscola = new Escola();
    }
    
    public void del(){
        escDAO.del(selectedEscola);
        selectedEscola = new Escola();
         FacesMessage message  = new FacesMessage("Dados Apagados com Sucesso!!");
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
    
    public String editEscola(){
        return "/admin/editEscola.jsf";
    }
    
    public void edit(){
        escDAO.edit(selectedEscola);
        selectedEscola = new Escola();
         FacesMessage message  = new FacesMessage("Dados Editados com Sucesso!!");
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
    
    public Escola getEscolaID(){
       Escola esc =  escDAO.getEscolaID(selectedEscola.getID());
        return esc;
    }
    
    public void  listaEscolas(){
       escolas = null;
       escolas = escDAO.getListaEscola();
    }
    
    public List<Escola> getAllEscolas(){
        escolas = null;
        escolas = escDAO.getListaEscola();
        return escolas;
    }
    
     public void reset(){
         
     RequestContext.getCurrentInstance().reset("form2:pnlLab");
     selectedEscola = new Escola();
     }
     
       public void onEdit(RowEditEvent event) {
        FacesMessage msg = new FacesMessage("Dados Editados!!", ((Escola) event.getObject()).getEscola());

        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
    
         public void onCancel(RowEditEvent event) {
        FacesMessage msg = new FacesMessage("Edição Cancelada!!", ((Escola) event.getObject()).getEscola());

        FacesContext.getCurrentInstance().addMessage(null, msg);
    }
         
       
    

         
}
